package com.panda.mall.common.mallOrder.dto;

import com.panda.mall.common.base.BasePageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * author: tcy
 * createDate: 2023/1/30
 * description: 查询订单dto
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
public class QueryOrderDto extends BasePageQuery implements Serializable {
    /**
     * 订单编号
     */
    @NotBlank(message="[订单编号]不能为空")
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("订单编号")
    @Length(max= 40,message="编码长度不能超过40")
    private String orderNumber;
    /**
     * 会员姓名
     */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("会员姓名")
    @Length(max= 40,message="编码长度不能超过40")
    private String userName;
    /**
     * 支付方式（1-支付宝，2-微信，3-银联，4-货到付款）
     */
    @ApiModelProperty("支付方式（1-支付宝，2-微信，3-银联，4-货到付款）")
    private Integer payType;
    /**
     * 订单来源（1-PC端，2-APP端）
     */
    @ApiModelProperty("订单来源（1-PC端，2-APP端）")
    private Integer sourceType;
    /**
     * 订单状态（0-待付款，1-代发货，2-已发货，3-已完成，4-已关闭，5-无效）
     */
    @ApiModelProperty("订单状态（0-待付款，1-代发货，2-已发货，3-已完成，4-已关闭，5-无效）")
    private Integer orderStatus;
    /**
     * 物流公司
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("物流公司")
    @Length(max= 255,message="编码长度不能超过255")
    private String deliveryCompany;
    /**
     * 物流编号
     */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("物流编号")
    @Length(max= 40,message="编码长度不能超过40")
    private String deliveryNumber;
    /**
     * 发票类型（0-不开发票，1-电子发票，2-纸质发票）
     */
    @ApiModelProperty("发票类型（0-不开发票，1-电子发票，2-纸质发票）")
    private Integer billType;
    /**
     * 收货人姓名
     */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("收货人姓名")
    @Length(max= 40,message="编码长度不能超过40")
    private String receiverName;
    /**
     * 收货人电话
     */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("收货人电话")
    @Length(max= 40,message="编码长度不能超过40")
    private String receiverPhone;
    /**
     * 收货状态（0-否，1-是）
     */
    @ApiModelProperty("收货状态（0-否，1-是）")
    private Integer confirmStatus;

}
